﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Cotizav.AccesoDatos
{
    public class CategoriaDAO
    {
        public List<Entidades.Categoria> Listar(Util.ContextoDB ctx)
        {
            SqlCommand cmd = new SqlCommand("select * from CATEGORIA", ctx.GetConexion(), ctx.GetTx());
            DataTable dtCategoria = new DataTable();
            dtCategoria.Load(cmd.ExecuteReader());

            List<Entidades.Categoria> lista = new List<Entidades.Categoria>();

            foreach (DataRow fila in dtCategoria.Rows)
            {
                Entidades.Categoria c = new Entidades.Categoria();

                c.IdCategoria = Int32.Parse(fila["ID"].ToString());
                c.NombreCategoria = fila["NOMBRECATEGORIA"].ToString();
                c.Activo = Int32.Parse(fila["ACTIVO"].ToString());
                c.FechaRegistro = !(fila["FECHAREGISTRO"] is DBNull) ? Convert.ToDateTime(fila["FECHAREGISTRO"].ToString()) : new Nullable<DateTime>();
                c.FechaModificacion = !(fila["FECHAREGISTRO"] is DBNull) ? Convert.ToDateTime(fila["FECHAMODIFICACION"].ToString()) : new Nullable<DateTime>();
                c.UsuarioRegistro = fila["USUARIOREGISTRO"].ToString();
                c.UsuarioModificacion = fila["USUARIOMODIFICACION"].ToString();

                lista.Add(c);
            }

            return lista;
        }
    }
}
